#include "mycoin.h"
#include <QIcon>
#include <QDebug>
#include <QTimer>
#include <QString>


MyCoin::MyCoin(QString img)
{
    QPixmap pix;
    bool ret =pix.load(img);
    if(!ret){
        QString str=QString("图片加载失败，失败路径为%1！").arg(img);
        qDebug()<<str;
        return;


    }
    this->setFixedSize(pix.width(),pix.height());
    this->setStyleSheet("QPushButton{border:0px}");
    this->setIcon(pix);
    this->setIconSize(QSize(pix.width(),pix.height()));
//创建定时器
    this->timer1 =new QTimer(this);
    this->timer2 =new QTimer(this);

   //监听金币翻银币的定时器
    connect(this->timer1,&QTimer::timeout,[=](){

        QPixmap pix;
        QString str= QString(":/res/image/Coin000%1.png").arg(this->min++);
        bool ret =pix.load(str);
        if(!ret){
            QString str=QString("图片加载失败，失败路径为%1！").arg(str);
            qDebug()<<str;
            return;


        }
        this->setFixedSize(pix.width(),pix.height());
        this->setStyleSheet("QPushButton{border:0px}");
        this->setIcon(pix);
        this->setIconSize(QSize(pix.width(),pix.height()));
         if(this->min > this->max){
             this->min=1;
             this->timer1->stop();
isAnimation=false;
         }
    });
    //监听银币翻金币的定时器
     connect(this->timer2,&QTimer::timeout,[=](){

         QPixmap pix;
         QString str= QString(":/res/image/Coin000%1.png").arg(this->max--);
         bool ret =pix.load(str);
         if(!ret){
             QString str=QString("图片加载失败，失败路径为%1！").arg(str);
             qDebug()<<str;
             return;


         }
         this->setFixedSize(pix.width(),pix.height());
         this->setStyleSheet("QPushButton{border:0px}");
         this->setIcon(pix);
         this->setIconSize(QSize(pix.width(),pix.height()));
          if(this->max<this->min){
              this->max=8;
              this->timer2->stop();
isAnimation =false;
          }
     });

}
//点击硬币翻转，正反面
void MyCoin::changeFlag()
{
 if(this->flag){
     this->timer1->start(30);
     this->flag =false;

 }

 else{
     this->timer2->start(30);
     this->flag =true;

 }
 isAnimation =true;

}

void MyCoin::mousePressEvent(QMouseEvent *e)
{
    if(this->isAnimation||this->isWin)
    {

        return;

    }
    else{
        QPushButton::mousePressEvent(e);

}

}
